package cn.lyjuan.payment.third.http.api.vo.req;

import cn.lyjuan.payment.third.base.common.enums.impl.ChlEnum;
import cn.lyjuan.payment.third.base.pay.chl.impl.iap.enums.IosDevelopEnum;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

import javax.validation.constraints.NotNull;

/**
 * @author arvin
 * desc payment-third cn.lyjuan.payment.third.http.api.vo.req
 * 2021/3/10 11:04
 */
@ApiModel("IAP验证参数")
public class IapVerifyReqVo {

    @ApiModelProperty(value = "应用ID", required = true)
    @NotNull
    private Integer appId;

    @ApiModelProperty(value = "支付渠道", required = true)
    @NotNull
    private ChlEnum chlType;

    @ApiModelProperty(value = "交易流水号", required = true)
    @NotNull
    private String localNo;

    @ApiModelProperty("MD5 32位签名")
    private String sign;

    @ApiModelProperty(required = true, value = "iap交易id")
    @NotNull
    private String transactionId;

    @ApiModelProperty(required = true, value = "交易凭据(已base64)")
    @NotNull
    private String receipt;

    @ApiModelProperty(required = true)
    @NotNull
    private String productId;

    @ApiModelProperty(value = "IOS开发类型", required = true)
    @NotNull
    private IosDevelopEnum devType;

    public Integer getAppId() {
        return appId;
    }

    public void setAppId(Integer appId) {
        this.appId = appId;
    }

    public ChlEnum getChlType() {
        return chlType;
    }

    public void setChlType(ChlEnum chlType) {
        this.chlType = chlType;
    }

    public String getLocalNo() {
        return localNo;
    }

    public void setLocalNo(String localNo) {
        this.localNo = localNo;
    }

    public String getSign() {
        return sign;
    }

    public void setSign(String sign) {
        this.sign = sign;
    }

    public String getTransactionId() {
        return transactionId;
    }

    public void setTransactionId(String transactionId) {
        this.transactionId = transactionId;
    }

    public String getReceipt() {
        return receipt;
    }

    public void setReceipt(String receipt) {
        this.receipt = receipt;
    }

    public String getProductId() {
        return productId;
    }

    public void setProductId(String productId) {
        this.productId = productId;
    }

    public IosDevelopEnum getDevType() {
        return devType;
    }

    public void setDevType(IosDevelopEnum devType) {
        this.devType = devType;
    }

    @Override
    public String toString() {
        return "IapVerifyReqVo{" +
                "appId=" + appId +
                ", chlType=" + chlType +
                ", localNo='" + localNo + '\'' +
                ", transactionId='" + transactionId + '\'' +
                ", receipt='" + receipt + '\'' +
                ", productId=" + productId +
                ", devType=" + devType +
                ", sign='" + sign + '\'' +
                '}';
    }
}
